Intro a OBIA
Object based image analysis (OBIA)
Contenidos
- Nociones básicas sobre OBIA
- Flujo de trabajo en OBIA
- Segmentación
- Optimización de parámetros de segmentación
- Generación de capas de información
- Estadística de segmentos
- Clasificación de segmentos
- Módulos y extensiones de GRASS para OBIA
Análisis de imágenes
Datos
Información
Alta resolución (HR) vs Muy alta resolución (VHR)
pixel 10 x 10 m
libre acceso
mayor res espectral
mayor res temporal
mayor extensión
pixel 0.2 x 0.2m
(alto) costo
menor res espectral
menor re temporal
menor extension
Alta resolución (HR) vs Muy alta resolución (VHR)

- Varios objetos geográficos en el mismo pixel
- Respuesta espectral mixta, no hay delineación clara de los objetos

- Algunos píxeles de respuesta espectral mixta y algunos puros
- Resolución espacial ~ tamaño de algunos objetos geográficos

- La mayoría de los píxeles pertenecen a una única clase
- Un solo objeto geográfico contiene varios píxeles
Blaschke 2010. “Object Based Image Analysis for Remote Sensing.” ISPRS Journal of Photogrammetry and Remote Sensing 65:2-16.
OBIA: Object-based image analysis
Idea general: agrupar los píxeles en objetos antes de clasificarlos
Ventajas:
- Se consideran las características de los objetos, no los píxeles
- Salida más suave (sin efecto “sal y pimienta”)
Dificultades:
- Necesidad de identificar primero los “objetos”
- Necesidad de definir la “mejor” delimitación de los objetos
Ejemplo del efecto sal y pimienta
Etapas en la aproximación OBIA
- Pre-procesamiento
- Segmentación
- Obtención de estadística de los objetos
- (Selección de features)
- Clasificación
- Post-clasificación
Etapas en la aproximación OBIA
- Pre-procesamiento
- Segmentación
- Obtención de estadística de los objetos
- Selección de features
- Clasificación
- Post-clasificación
Segmentación
- ¿Qué es?
- Agrupación de píxeles en objetos
- ¿Cómo deberían ser los resultados?
- La mejor aproximación/delineación posible de los objetos reales
- Heterogeneidad espectral dentro de los objetos (ej.: 1/2 techo en el sol, 1/2 en la sombra)
- Es necesaria una buena segmentación para una buena clasificación
- Una mala segmentación puede afectar dramáticamente los resultados de la clasificación
- La segmentación óptima no es necesariamente la misma en toda la imagen
Sobre-segmentación, sub-segmentación y trade-off
Cómo seleccionar los parámetros óptimos
- Manualmente, ensayo y error para ajustar iterativamente los parámetros y producir los segmentos esperados
- Optimización automatizada
Observaciones importantes
- No hay una segmentación perfecta: es siempre un compromiso
- Preferencia por objetos sobre-segmentados sobre aquellos sub-segmentados
- Los objetos sub-segmentados contienen diferentes clases de cubierta terrestre (fa?, arrow-right text-green) difíciles de clasificar
- Los objetos sobre-segmentados pueden ser fusionados durante la clasificación
Segmentación en GRASS GIS
Region growing
- Dos parámetros:
- threshold: similitud espectral entre segmentos adyacentes
- minsize: tamaño mínimo (# de píxeles) del segmento en la salida final
Diagrama explicativo del algoritmo region growing
Mean shift
- 3 parámetros y 2 opciones:
- threshold: similitud espectral entre segmentos adyacentes
- hr: rango, sólo las celdas dentro del rango se consideran para realizar el mean shift
- radius: radio espacial en número de celdas
- -a usar rango adaptable para mean shift
- -p usar radio progresivo para mean shift
Segmentación en GRASS GIS
- La salida de la segmentación es en formato raster
- El valor de los píxeles corresponde al ID del segmento (único)
- Puede transformarse en vector con el módulo r.to.vect
Unsupervised Segmentation Parameter Optimization - USPO
- Permite la selección automatizada del “mejor” valor para un parámetro entre una serie de valores
- Basado en el cálculo de las estadísticas de los objetos
- Varianza ponderada (homogeneidad intra-segmentos)
- Autocorrelación espacial (heterogeneidad entre segmentos)
USPO en GRASS GIS
- Primero identificar los valores extremos (sobre y sub-segmentación) (fa?, arrow-right) rango de valores a evaluar
- Con capacidad de hardware limitada, no probar demasiadas combinaciones y trabajar en una región limitada
USPO en GRASS GIS
- Salida de i.segment.uspo: la selección de los mejores valores de los parámetros que se introducirán en i.segment
- Opcionalmente, los primeros X mejores resultados pueden guardarse directamente como capas raster
i.segment.uspo pedirá los nombres de un grupo de imágenes y regiones
Qué módulos usábamos para esas tareas?
Para grandes conjuntos de datos, i.segment.uspo se puede usar para segmentar automáticamente tiles pequeños, cada uno con un parámetro optimizado
Obtención de información derivada
- Índices de vegetación: i.vi o r.mapcalc
- Índices de agua: i.wi o r.mapcalc
- Texturas: r.texture o r.texture.tiled
- etc.
GLCM textures
- Grey-level co-occurrence matrix
- Importante fuente de información
- En el entorno urbano, utilizando imágenes de resolución espacial media, ayuda a identificar las estructuras/funciones urbanas (por ejemplo, los asentamientos informales)
Estadística de objetos
A efectos de la clasificación, necesitamos calcular las características de los objetos (estadísticas) - valores raster (bandas, índices espectrales, texturas) - forma del objeto (área, perímetro, compact_circle, compact_square, fd) - objetos del vecindario (raster stats y shape stats of all neighbours)
Clasificación supervisada
- Basada en reglas
- Reglas estadísticas y valores de umbral definidos por un experto
- Difícil encontrar reglas que funcionen en todas partes de la imagen
Clasificación supervisada
- Basada en modelos (ej. Random Forest, SVM, ANN)
- Clasificador entrenado usando una muestra de entrenamiento de objetos
- El clasificador encuentra las características con mayor poder de predicción y asigna clase a todos los objetos no etiquetados
Clasificación basada en reglas en GRASS GIS
- Actualizar una columna en la tabla de atributos de una capa de vectores con v.db.update o db.execute
- Reclasificar un raster resultante de la segmentación con r.mapcalc
Clasificación por machine learning en GRASS GIS
- Utiliza el paquete caret de R
- Varios clasificadores (Random Forest, SVM, KNN)
- Selección de variables/features
- Opción de combinar los resultados de distintos clasificadores a través de majority vote
Para datos raster, la extensión r.learn.ml nos permite usar algoritmos de aprendizaje automático para realizar clasificaciones supervisadas
OBIA en GRASS GIS
- i.segment para segmentación
- i.segment.uspo para optimización no supervisada de los parámetros de segmentación
- i.segment.stats para computar estadísticas de los segmentos
- i.superpixels.slic para segmentación de superpixeles (SLIC y SLIC0)
- r.to.vect para convertir de raster a vector
- db.execute para ejecutar consultas SQL y actualizar valores en la tabla de atributos de las capas vectoriales (clasificación basada en reglas)
- r.mapcalc para cálculos raster, ej. clasificación basada en reglas
- v.class.mlR para el aprendizaje automático, basado en caret de R
- i.cutlines para la partición automatizada (tiling) de una gran escena por líneas naturales

Referencias
- Blaschke, T. (2010). Object based image analysis for remote sensing. ISPRS JPRS, 65(1), 2–16. DOI
- Grippa, T. et al. (2017). An Open-Source Semi-Automated Processing Chain for Urban Object-Based Classification. Remote Sensing, 9, 358. DOI
- Georganos, S. et al. (2018). Scale Matters: Spatially Partitioned Unsupervised Segmentation Parameter Optimization for Large and Heterogeneous Satellite Images. Remote Sensing, 10, 1440. DOI